[INFO] cloning repository https://github.com/nilicule/rustyIce
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nilicule/rustyIce" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnilicule%2FrustyIce", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnilicule%2FrustyIce'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6a7deee4bb91a5749a23a8dc0de5aafa61219d26
[INFO] testing nilicule/rustyIce against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnilicule%2FrustyIce" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/nilicule/rustyIce
[INFO] finished tweaking git repo https://github.com/nilicule/rustyIce
[INFO] tweaked toml for git repo https://github.com/nilicule/rustyIce written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nilicule/rustyIce on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nilicule/rustyIce already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7488f13fd9a65d2b2a9c4229897cbdbdd47d1022e4adc774eeb1badf222350e7
[INFO] running `Command { std: "docker" "start" "-a" "7488f13fd9a65d2b2a9c4229897cbdbdd47d1022e4adc774eeb1badf222350e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7488f13fd9a65d2b2a9c4229897cbdbdd47d1022e4adc774eeb1badf222350e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7488f13fd9a65d2b2a9c4229897cbdbdd47d1022e4adc774eeb1badf222350e7", kill_on_drop: false }`
[INFO] [stdout] 7488f13fd9a65d2b2a9c4229897cbdbdd47d1022e4adc774eeb1badf222350e7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3ffe08ccbcbda593ff6514e6fc60c609a52aca517e49b144e82710e1908035bf
[INFO] running `Command { std: "docker" "start" "-a" "3ffe08ccbcbda593ff6514e6fc60c609a52aca517e49b144e82710e1908035bf", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling aws-lc-rs v1.16.3
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling winnow v1.0.2
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling symphonia-core v0.5.5
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling hdrhistogram v7.5.4
[INFO] [stderr]    Compiling tinyvec v1.11.0
[INFO] [stderr]    Compiling transpose v0.2.3
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling primal-check v0.3.4
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling raw-cpuid v11.6.0
[INFO] [stderr]    Compiling rapidhash v4.4.1
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling rustfft v6.4.1
[INFO] [stderr]    Compiling metrics v0.24.6
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling hybrid-array v0.4.12
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling autotools v0.2.7
[INFO] [stderr]    Compiling symphonia-metadata v0.5.5
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling inout v0.2.2
[INFO] [stderr]    Compiling crypto-common v0.2.1
[INFO] [stderr]    Compiling symphonia-utils-xiph v0.5.5
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling aws-lc-sys v0.40.0
[INFO] [stderr]    Compiling ogg_next_sys v0.1.4
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling aotuv_lancer_vorbis_sys v0.1.5
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling mp3lame-sys v0.1.11
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling symphonia-format-ogg v0.5.5
[INFO] [stderr]    Compiling symphonia-codec-vorbis v0.5.5
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]    Compiling rust-embed-utils v8.11.0
[INFO] [stderr]    Compiling quanta v0.12.6
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling cipher v0.5.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_xoshiro v0.7.0
[INFO] [stderr]    Compiling blowfish v0.10.0
[INFO] [stderr]    Compiling left-right v0.11.7
[INFO] [stderr]    Compiling metrics-exporter-prometheus v0.18.3
[INFO] [stderr]    Compiling hashbag v0.1.13
[INFO] [stderr]    Compiling sketches-ddsketch v0.3.1
[INFO] [stderr]    Compiling metrics-util v0.20.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling symphonia v0.5.5
[INFO] [stderr]    Compiling bcrypt v0.19.1
[INFO] [stderr]    Compiling evmap v11.0.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling rust-embed-impl v8.11.0
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling lofty_attr v0.11.1
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling ogg_pager v0.7.2
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling rustyice-core v1.0.3 (/opt/rustwide/workdir/crates/rustyice-core)
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling rust-embed v8.11.0
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling lofty v0.22.4
[INFO] [stderr]    Compiling rustyice-codec v1.0.3 (/opt/rustwide/workdir/crates/rustyice-codec)
[INFO] [stderr]    Compiling rustyice-auth v1.0.3 (/opt/rustwide/workdir/crates/rustyice-auth)
[INFO] [stderr]    Compiling rustyice-output v1.0.3 (/opt/rustwide/workdir/crates/rustyice-output)
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling vorbis_rs v0.5.5
[INFO] [stderr]    Compiling realfft v3.5.0
[INFO] [stderr]    Compiling rubato v0.15.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling rustyice-transcode v1.0.3 (/opt/rustwide/workdir/crates/rustyice-transcode)
[INFO] [stderr]    Compiling rustyice-autodj v1.0.3 (/opt/rustwide/workdir/crates/rustyice-autodj)
[INFO] [stderr]    Compiling rustyice-ingest v1.0.3 (/opt/rustwide/workdir/crates/rustyice-ingest)
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.3
[INFO] [stderr]    Compiling rustyice-admin v1.0.3 (/opt/rustwide/workdir/crates/rustyice-admin)
[INFO] [stderr]    Compiling rustyice-server v1.0.3 (/opt/rustwide/workdir/crates/rustyice-server)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 58s
[INFO] running `Command { std: "docker" "inspect" "3ffe08ccbcbda593ff6514e6fc60c609a52aca517e49b144e82710e1908035bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3ffe08ccbcbda593ff6514e6fc60c609a52aca517e49b144e82710e1908035bf", kill_on_drop: false }`
[INFO] [stdout] 3ffe08ccbcbda593ff6514e6fc60c609a52aca517e49b144e82710e1908035bf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bac7eb0f806cbaa55fb27a7b1c33d30a2d058691b6433c8b453a56d34cc90d7e
[INFO] running `Command { std: "docker" "start" "-a" "bac7eb0f806cbaa55fb27a7b1c33d30a2d058691b6433c8b453a56d34cc90d7e", kill_on_drop: false }`
[INFO] [stderr]    Compiling raw-cpuid v11.6.0
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling id3 v1.16.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rustyice-transcode v1.0.3 (/opt/rustwide/workdir/crates/rustyice-transcode)
[INFO] [stderr]    Compiling rustyice-auth v1.0.3 (/opt/rustwide/workdir/crates/rustyice-auth)
[INFO] [stderr]    Compiling rustyice-ingest v1.0.3 (/opt/rustwide/workdir/crates/rustyice-ingest)
[INFO] [stderr]    Compiling rustyice-output v1.0.3 (/opt/rustwide/workdir/crates/rustyice-output)
[INFO] [stderr]    Compiling rustyice-codec v1.0.3 (/opt/rustwide/workdir/crates/rustyice-codec)
[INFO] [stderr]    Compiling rustyice-core v1.0.3 (/opt/rustwide/workdir/crates/rustyice-core)
[INFO] [stderr]    Compiling reqwest v0.13.3
[INFO] [stderr]    Compiling rustyice-autodj v1.0.3 (/opt/rustwide/workdir/crates/rustyice-autodj)
[INFO] [stderr]    Compiling quanta v0.12.6
[INFO] [stderr]    Compiling metrics-util v0.20.4
[INFO] [stderr]    Compiling metrics-exporter-prometheus v0.18.3
[INFO] [stderr]    Compiling rustyice-admin v1.0.3 (/opt/rustwide/workdir/crates/rustyice-admin)
[INFO] [stderr]    Compiling rustyice-server v1.0.3 (/opt/rustwide/workdir/crates/rustyice-server)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 09s
[INFO] running `Command { std: "docker" "inspect" "bac7eb0f806cbaa55fb27a7b1c33d30a2d058691b6433c8b453a56d34cc90d7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bac7eb0f806cbaa55fb27a7b1c33d30a2d058691b6433c8b453a56d34cc90d7e", kill_on_drop: false }`
[INFO] [stdout] bac7eb0f806cbaa55fb27a7b1c33d30a2d058691b6433c8b453a56d34cc90d7e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] cc3042b3c5b5c2a9a6174cf5adc9d7c350375657abed6a4a469eb844a20a1615
[INFO] running `Command { std: "docker" "start" "-a" "cc3042b3c5b5c2a9a6174cf5adc9d7c350375657abed6a4a469eb844a20a1615", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.54s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustyice_admin-99cb22e6904cbe78)
[INFO] [stdout] 
[INFO] [stdout] running 50 tests
[INFO] [stdout] test config_write::tests::autodjs_validate_rejects_duplicate_mount_paths ... ok
[INFO] [stdout] test config_write::tests::autodjs_validate_rejects_bad_transcode_format ... ok
[INFO] [stdout] test config_write::tests::autodjs_validate_rejects_empty_folder ... ok
[INFO] [stdout] test api::mounts::tests::source_kind_reports_none_live_autodj_and_relay ... ok
[INFO] [stdout] test config_write::tests::autodjs_validate_rejects_bad_order ... ok
[INFO] [stdout] test config_write::tests::mounts_validate_rejects_bad_per_mount_transcode_format ... ok
[INFO] [stdout] test config_write::tests::mounts_validate_accepts_valid_list ... ok
[INFO] [stdout] test config_write::tests::mounts_validate_rejects_empty_path ... ok
[INFO] [stdout] test config_write::tests::mounts_validate_rejects_duplicate_paths ... ok
[INFO] [stdout] test config_write::tests::mounts_validate_rejects_empty_source_password ... ok
[INFO] [stdout] test config_write::tests::mounts_validate_rejects_path_without_leading_slash ... ok
[INFO] [stdout] test config_write::tests::relays_validate_accepts_valid_list ... ok
[INFO] [stdout] test config_write::tests::relays_validate_rejects_duplicate_mount_paths ... ok
[INFO] [stdout] test config_write::tests::relays_validate_rejects_non_http_upstream ... ok
[INFO] [stdout] test config_write::tests::autodjs_patch_writes_block_with_required_transcode ... ok
[INFO] [stdout] test config_write::tests::atomic_write_writes_and_overwrites ... ok
[INFO] [stdout] test config_write::tests::autodjs_patch_with_empty_list_removes_block ... ok
[INFO] [stdout] test config_write::tests::relays_patch_writes_credentials_and_transcode ... ok
[INFO] [stdout] test config_write::tests::autodjs_patch_emits_disabled_and_no_loop_explicitly ... ok
[INFO] [stdout] test config_write::tests::mounts_patch_writes_per_mount_transcode_block ... ok
[INFO] [stdout] test config_write::tests::relays_patch_writes_block ... ok
[INFO] [stdout] test config_write::tests::patch_only_touches_named_keys_when_unchanged ... ok
[INFO] [stdout] test config_write::tests::mounts_patch_writes_optional_fields_only_when_set ... ok
[INFO] [stdout] test config_write::tests::relays_patch_emits_enabled_false_explicitly ... ok
[INFO] [stdout] test config_write::tests::relays_patch_with_empty_list_removes_block ... ok
[INFO] [stdout] test config_write::tests::mounts_patch_with_empty_list_removes_block ... ok
[INFO] [stdout] test config_write::tests::mounts_patch_adds_mount_to_empty_doc ... ok
[INFO] [stdout] test config_write::tests::hostname_change_only_touches_hostname ... ok
[INFO] [stdout] test config_write::tests::mounts_patch_replaces_existing_list ... ok
[INFO] [stdout] test config_write::tests::relays_validate_rejects_partial_credentials ... ok
[INFO] [stdout] test config_write::tests::round_trip_preserves_comments ... ok
[INFO] [stdout] test config_write::tests::server_patch_leaves_auth_table_alone_when_patch_auth_is_none ... ok
[INFO] [stdout] test config_write::tests::transcode_patch_writes_new_block_when_absent ... ok
[INFO] [stdout] test config_write::tests::server_patch_clears_global_source_password_when_auth_some_none ... ok
[INFO] [stdout] test config_write::tests::transcode_patch_updates_existing_block_preserving_other_keys ... ok
[INFO] [stdout] test config_write::tests::server_patch_writes_global_source_password_when_auth_set ... ok
[INFO] [stdout] test config_write::tests::transcode_patch_removes_block_when_none ... ok
[INFO] [stdout] test config_write::tests::transcode_validate_accepts_none ... ok
[INFO] [stdout] test config_write::tests::transcode_validate_rejects_bad_format ... ok
[INFO] [stdout] test config_write::tests::transcode_validate_rejects_oversized_bitrate ... ok
[INFO] [stdout] test config_write::tests::transcode_validate_rejects_zero_sample_rate ... ok
[INFO] [stdout] test config_write::tests::users_validate_requires_at_least_one_admin ... ok
[INFO] [stdout] test config_write::tests::users_validate_rejects_bad_role ... ok
[INFO] [stderr]      Running tests/api_test.rs (/opt/rustwide/target/debug/deps/api_test-c81f0f0238dffd18)
[INFO] [stdout] test config_write::tests::validate_rejects_bad_logging_format ... ok
[INFO] [stdout] test config_write::tests::users_patch_leaves_other_auth_keys_alone ... ok
[INFO] [stdout] test config_write::tests::removes_optional_when_set_to_none ... ok
[INFO] [stdout] test config_write::tests::users_validate_rejects_duplicate_usernames ... ok
[INFO] [stdout] test config_write::tests::users_patch_writes_array_of_tables_under_auth ... ok
[INFO] [stdout] test config_write::tests::validate_rejects_oversized_burst ... ok
[INFO] [stdout] test config_write::tests::validate_rejects_zero_ring_size ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 50 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 71 tests
[INFO] [stdout] test get_listeners_for_unknown_mount_returns_404_with_session ... ok
[INFO] [stdout] test get_listeners_without_cookie_returns_401 ... ok
[INFO] [stdout] test get_config_requires_auth ... ok
[INFO] [stdout] test delete_title_clears_value ... ok
[INFO] [stdout] test get_stats_returns_uptime_and_counts ... ok
[INFO] [stdout] test delete_title_without_cookie_returns_401 ... ok
[INFO] [stdout] test get_mounts_returns_empty_array ... ok
[INFO] [stdout] test get_mounts_reflects_admin_set_title ... ok
[INFO] [stdout] test get_mounts_lists_registered_mounts ... ok
[INFO] [stdout] test kick_nonexistent_listener_returns_404_with_session ... ok
[INFO] [stdout] test login_with_correct_credentials_returns_cookie ... ok
[INFO] [stdout] test me_returns_role ... ok
[INFO] [stdout] test get_config_includes_path_and_source ... ok
[INFO] [stdout] test get_mounts_exposes_title_field_default_null ... ok
[INFO] [stdout] test me_with_session_returns_user ... ok
[INFO] [stdout] test kick_listener_without_cookie_returns_401 ... ok
[INFO] [stdout] test get_config_scrubs_admin_only_sections_for_operator ... ok
[INFO] [stdout] test get_config_redacts_secrets ... ok
[INFO] [stdout] test login_with_wrong_password_returns_401 ... ok
[INFO] [stdout] test metrics_endpoint_returns_prometheus_text ... ok
[INFO] [stdout] test me_without_cookie_returns_401 ... ok
[INFO] [stdout] test put_autodjs_requires_auth ... ok
[INFO] [stdout] test put_mounts_requires_auth ... ok
[INFO] [stdout] test put_mounts_rejects_new_mount_without_password_and_no_global ... ok
[INFO] [stdout] test put_mounts_rejects_duplicate_paths ... ok
[INFO] [stdout] test put_relays_rejects_non_http_upstream ... ok
[INFO] [stdout] test put_autodjs_rejects_bad_order ... ok
[INFO] [stdout] test put_relays_requires_auth ... ok
[INFO] [stdout] test put_server_defaults_mode_bootstraps_config_toml ... ok
[INFO] [stdout] test put_mounts_replaces_list_on_disk_and_in_running_config ... ok
[INFO] [stdout] test put_relays_empty_list_clears_block ... ok
[INFO] [stdout] test put_mounts_allowed_for_operator ... ok
[INFO] [stdout] test put_relays_keeps_existing_password_when_omitted ... ok
[INFO] [stdout] test put_server_apply_failed_returns_500_with_disk_written_true ... ok
[INFO] [stdout] test put_autodjs_emits_loop_false_explicitly ... ok
[INFO] [stdout] test put_autodjs_writes_block_with_required_transcode ... ok
[INFO] [stdout] test put_mounts_falls_back_to_global_source_password_for_new_mount ... ok
[INFO] [stdout] test put_relays_writes_list_to_disk_and_applies ... ok
[INFO] [stdout] test put_mounts_treats_redacted_sentinel_as_keep_existing ... ok
[INFO] [stdout] test put_mounts_keeps_existing_password_when_omitted ... ok
[INFO] [stdout] test put_mounts_empty_list_clears_block ... ok
[INFO] [stdout] test put_mounts_with_per_mount_transcode_is_persisted ... ok
[INFO] [stdout] test put_server_rejects_zero_ring_size ... ok
[INFO] [stdout] test put_autodjs_empty_list_clears_block ... ok
[INFO] [stdout] test put_server_concurrent_saves_serialize ... ok
[INFO] [stdout] test put_server_rejects_invalid_socket_addr ... ok
[INFO] [stdout] test put_server_requires_auth ... ok
[INFO] [stdout] test put_title_on_unknown_mount_returns_404 ... ok
[INFO] [stdout] test put_title_without_cookie_returns_401 ... ok
[INFO] [stdout] test put_title_rejects_single_quote ... ok
[INFO] [stdout] test put_server_happy_path ... ok
[INFO] [stdout] test put_title_stores_value_and_returns_200 ... ok
[INFO] [stdout] test put_server_disk_unwritable_returns_500_and_skips_apply ... ok
[INFO] [stdout] test put_transcode_requires_auth ... ok
[INFO] [stdout] test put_title_rejects_too_long ... ok
[INFO] [stdout] test put_server_sets_global_source_password ... ok
[INFO] [stdout] test put_title_trims_whitespace ... ok
[INFO] [stdout] test put_users_rejects_self_deletion ... ok
[INFO] [stdout] test put_transcode_rejects_bad_format ... ok
[INFO] [stdout] test put_users_rejects_self_demotion ... ok
[INFO] [stdout] test put_transcode_with_null_removes_block_from_disk ... ok
[INFO] [stdout] test put_server_keeps_global_source_password_when_blank_or_sentinel ... ok
[INFO] [stdout] test put_title_rejects_carriage_return ... ok
[INFO] [stdout] test put_users_forbidden_for_operator ... ok
[INFO] [stdout] test put_title_rejects_newline ... ok
[INFO] [stdout] test put_title_empty_after_trim_clears_value ... ok
[INFO] [stdout] test put_users_rejects_when_no_admin_remains ... ok
[INFO] [stdout] test put_transcode_writes_block_to_disk_and_applies ... ok
[INFO] [stdout] test put_server_passes_through_warnings ... ok
[INFO] [stdout] test put_server_forbidden_for_operator ... ok
[INFO] [stdout] test put_users_adds_user_with_hashed_password ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 71 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.85s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustyice_auth-c0e44e31cdc21011)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test toml_bcrypt::tests::verify_default_source_rejects_when_unset ... ok
[INFO] [stdout] test toml_bcrypt::tests::reload_updates_default_source_password ... ok
[INFO] [stdout] test toml_bcrypt::tests::verify_admin_unknown_user ... ok
[INFO] [stdout] test toml_bcrypt::tests::verify_default_source_accepts_match ... ok
[INFO] [stdout] test toml_bcrypt::tests::verify_source_unknown_mount_no_default_returns_false ... ok
[INFO] [stdout] test toml_bcrypt::tests::verify_default_source_rejects_mismatch ... ok
[INFO] [stdout] test toml_bcrypt::tests::verify_source_unknown_mount ... ok
[INFO] [stdout] test toml_bcrypt::tests::verify_source_per_mount_password_takes_priority_over_default ... ok
[INFO] [stdout] test toml_bcrypt::tests::verify_source_correct_password ... ok
[INFO] [stdout] test toml_bcrypt::tests::verify_source_wrong_password ... ok
[INFO] [stdout] test toml_bcrypt::tests::verify_source_falls_back_to_default_when_no_per_mount_password ... ok
[INFO] [stdout] test toml_bcrypt::tests::verify_admin_wrong_password ... ok
[INFO] [stdout] test toml_bcrypt::tests::verify_admin_correct_password ... ok
[INFO] [stdout] test toml_bcrypt::tests::reload_updates_credentials ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustyice_autodj-69de41a0162f32b8)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test playlist::tests::scan_errors_on_missing_folder ... ok
[INFO] [stdout] test playlist::tests::order_sequential_is_stable ... ok
[INFO] [stdout] test playlist::tests::scan_filters_to_mp3_and_ogg_case_insensitive ... ok
[INFO] [stdout] test playlist::tests::order_shuffle_is_deterministic_with_seed ... ok
[INFO] [stdout] test tags::tests::falls_back_to_stem_when_tags_missing ... ok
[INFO] [stdout] test player::tests::play_track_publishes_mp3_packets_and_sets_title ... ok
[INFO] [stdout] test decode::tests::opens_and_decodes_ogg_fixture ... ok
[INFO] [stdout] test tags::tests::extracts_artist_and_title_from_mp3 ... ok
[INFO] [stdout] test tags::tests::extracts_artist_and_title_from_ogg ... ok
[INFO] [stdout] test decode::tests::opens_and_decodes_mp3_fixture ... ok
[INFO] [stdout] test player::tests::loop_false_exits_after_playlist_exhausts ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.61s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustyice_codec-38b5010a181c3ad2)
[INFO] [stdout] 
[INFO] [stdout] running 36 tests
[INFO] [stdout] test mp3::tests::decode_returns_unsupported ... ok
[INFO] [stdout] test mp3::tests::detects_info_tag_too ... ok
[INFO] [stdout] test mp3::tests::detects_xing_after_garbage_prefix ... ok
[INFO] [stdout] test mp3::tests::probes_mpeg1_layer3_320k_48000 ... ok
[INFO] [stdout] test mp3::tests::detects_xing_in_mpeg1_stereo_frame ... ok
[INFO] [stdout] test mp3::tests::detects_xing_in_mpeg1_mono_frame ... ok
[INFO] [stdout] test mp3::tests::probes_mpeg1_layer3_mono ... ok
[INFO] [stdout] test mp3::tests::probes_mpeg1_layer3_stereo ... ok
[INFO] [stdout] test mp3::tests::probes_mpeg2_layer3_returns_some ... ok
[INFO] [stdout] test mp3::tests::rejects_non_mp3_bytes ... ok
[INFO] [stdout] test mp3::tests::rejects_too_short_input ... ok
[INFO] [stdout] test mp3::tests::returns_none_when_no_tag ... ok
[INFO] [stdout] test mp3::tests::scan_finds_bitrate_at_stream_start ... ok
[INFO] [stdout] test mp3::tests::scan_finds_bitrate_after_garbage_prefix ... ok
[INFO] [stdout] test mp3::tests::scan_returns_none_for_non_mp3_data ... ok
[INFO] [stdout] test mp3::tests::scan_returns_none_for_short_input ... ok
[INFO] [stdout] test vorbis::tests::capture_fails_on_non_ogg_stream ... ok
[INFO] [stdout] test vorbis::tests::capture_handles_continuation_pages ... ok
[INFO] [stdout] test vorbis::tests::capture_streams_partial_pages_progressively ... ok
[INFO] [stdout] test vorbis::tests::decode_returns_unsupported ... ok
[INFO] [stdout] test vorbis::tests::encode_returns_unsupported ... ok
[INFO] [stdout] test vorbis::tests::ogg_page_size_matches_lacing_sum ... ok
[INFO] [stdout] test vorbis::tests::ogg_page_size_rejects_non_ogg ... ok
[INFO] [stdout] test vorbis::tests::ogg_page_size_rejects_truncated_lacing ... ok
[INFO] [stdout] test mp3::tests::returns_none_when_buffer_truncates_frame ... ok
[INFO] [stdout] test vorbis::tests::capture_bounded_by_max_buffer ... ok
[INFO] [stdout] test vorbis::tests::probes_vorbis_bos_page ... ok
[INFO] [stdout] test vorbis::tests::rejects_non_ogg_magic ... ok
[INFO] [stdout] test vorbis::tests::scan_finds_bitrate_after_garbage_prefix ... ok
[INFO] [stdout] test vorbis::tests::scan_finds_nominal_bitrate ... ok
[INFO] [stdout] test vorbis::tests::scan_returns_none_for_non_ogg ... ok
[INFO] [stdout] test mp3::tests::encode_returns_unsupported ... ok
[INFO] [stdout] test vorbis::tests::probe_returns_none_for_zero_nominal_bitrate ... ok
[INFO] [stdout] test vorbis::tests::capture_settles_after_three_header_pages_plus_audio ... ok
[INFO] [stdout] test vorbis::tests::rejects_truncated_bos ... ok
[INFO] [stdout] test vorbis::tests::rejects_non_bos_page ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.44s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustyice_core-e52fb6b55ef80e8d)
[INFO] [stdout] 
[INFO] [stdout] running 54 tests
[INFO] [stdout] test config::tests::parses_autodj_entry ... ok
[INFO] [stdout] test config::tests::parses_full_config ... ok
[INFO] [stdout] test config::tests::stream_bind_parses_as_socket_addr ... ok
[INFO] [stdout] test config::tests::transcode_config_falls_back_to_global ... ok
[INFO] [stdout] test config::tests::transcode_config_none_when_absent ... ok
[INFO] [stdout] test config::tests::relay_mount_path_collision_with_autodj_is_detected ... ok
[INFO] [stdout] test config::tests::transcode_config_per_mount_overrides_global ... ok
[INFO] [stdout] test config::tests::relay_with_non_http_upstream_is_rejected ... ok
[INFO] [stdout] test config::tests::transcode_format_parses_vorbis ... ok
[INFO] [stdout] test config::tests::unique_autodj_and_mount_paths_validate_ok ... ok
[INFO] [stdout] test config::tests::parses_relay_entry ... ok
[INFO] [stdout] test config::tests::transcode_config_parses_global ... ok
[INFO] [stdout] test config::tests::log_format_json_and_pretty ... ok
[INFO] [stdout] test config::tests::autodj_mount_path_collision_with_mounts_is_detected ... ok
[INFO] [stdout] test config::tests::mount_optional_fields_default_to_none ... ok
[INFO] [stdout] test config::tests::autodj_order_defaults_to_shuffle_when_omitted ... ok
[INFO] [stdout] test config::tests::duplicate_autodj_paths_are_detected ... ok
[INFO] [stdout] test config::tests::config_round_trips_through_toml ... ok
[INFO] [stdout] test config::tests::relay_partial_credentials_are_rejected ... ok
[INFO] [stdout] test config::tests::burst_size_falls_back_to_global ... ok
[INFO] [stdout] test config::tests::parses_minimal_config_no_mounts ... ok
[INFO] [stdout] test config::tests::burst_size_per_mount_overrides_global ... ok
[INFO] [stdout] test config::tests::relay_with_no_transcode_parses_ok ... ok
[INFO] [stdout] test mount::tests::current_title_defaults_to_none ... ok
[INFO] [stdout] test mount::tests::effective_identity_overlay_wins_per_field ... ok
[INFO] [stdout] test mount::tests::current_title_survives_info_hot_swap ... ok
[INFO] [stdout] test mount::tests::active_mount_source_kind_round_trips ... ok
[INFO] [stdout] test config::tests::burst_size_defaults_to_65536_when_absent ... ok
[INFO] [stdout] test mount::tests::current_title_can_be_set_and_cleared ... ok
[INFO] [stdout] test mount::tests::active_mount_source_kind_defaults_to_none ... ok
[INFO] [stdout] test mount::tests::effective_identity_passthrough_uses_overlay_bitrate_and_audio_info ... ok
[INFO] [stdout] test mount::tests::effective_identity_uses_config_when_overlay_absent ... ok
[INFO] [stdout] test mount::tests::source_connected_flag_starts_false ... ok
[INFO] [stdout] test mount::tests::remove_mount ... ok
[INFO] [stdout] test traits::tests::codec_is_object_safe ... ok
[INFO] [stdout] test traits::tests::stub_bus_subscribe_returns_empty_stream ... ok
[INFO] [stdout] test traits::tests::stub_bus_subscriber_count ... ok
[INFO] [stdout] test mount::tests::get_nonexistent_returns_none ... ok
[INFO] [stdout] test mount::tests::list_mounts_returns_all ... ok
[INFO] [stdout] test mount::tests::source_overlay_defaults_to_none ... ok
[INFO] [stdout] test mount::tests::source_overlay_survives_info_hot_swap ... ok
[INFO] [stdout] test traits::tests::broadcast_bus_is_object_safe ... ok
[INFO] [stdout] test mount::tests::source_overlay_can_be_set_and_cleared ... ok
[INFO] [stdout] test mount::tests::effective_identity_transcode_overrides_bitrate_and_audio_info ... ok
[INFO] [stdout] test mount::tests::effective_identity_passthrough_omits_bitrate_when_source_silent ... ok
[INFO] [stdout] test mount::tests::non_live_resume_notify_wakes_waiter ... ok
[INFO] [stdout] test types::tests::codec_id_constants_have_correct_str ... ok
[INFO] [stdout] test types::tests::disconnect_reason_debug ... ok
[INFO] [stdout] test types::tests::pcm_frame_interleaved_stereo ... ok
[INFO] [stdout] test types::tests::source_stats_default ... ok
[INFO] [stdout] test types::tests::stream_packet_encoded_variant ... ok
[INFO] [stdout] test types::tests::codec_id_equality ... ok
[INFO] [stdout] test mount::tests::add_and_get_mount ... ok
[INFO] [stdout] test mount::tests::mount_info_hot_swap ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustyice_ingest-63654d1c32671424)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test icecast::tests::sequence_numbers_are_monotonic ... ok
[INFO] [stdout] test icecast::tests::disconnect_is_reported_without_waiting_for_paced_drain ... ok
[INFO] [stdout] test icecast::tests::codec_id_is_preserved_in_packets ... ok
[INFO] [stdout] test icecast::tests::cancellation_stops_ingest ... ok
[INFO] [stdout] test icecast::tests::publishes_all_bytes_from_reader ... ok
[INFO] [stdout] test icecast::tests::strips_id3v2_tag_before_publishing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustyice_output-b681a9d6fb54bbe1)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test http_passthrough::tests::icy_uses_admin_title_when_set_over_mount_name ... ok
[INFO] [stdout] test http_passthrough::tests::passthrough_writes_bytes_verbatim ... ok
[INFO] [stdout] test http_passthrough::tests::icy_meta_falls_back_to_overlay_name_when_no_admin_title ... ok
[INFO] [stdout] test http_passthrough::tests::icy_injects_metadata_at_metaint_boundary ... ok
[INFO] [stdout] test http_passthrough::tests::icy_empty_metadata_writes_zero_byte ... ok
[INFO] [stdout] test http_passthrough::tests::icy_empty_when_both_title_and_name_unset ... ok
[INFO] [stdout] test http_passthrough::tests::icy_meta_admin_title_beats_overlay_name ... ok
[INFO] [stdout] test http_passthrough::tests::icy_meta_falls_through_to_config_when_overlay_silent ... ok
[INFO] [stdout] test http_passthrough::tests::icy_falls_back_to_mount_name_when_title_unset ... ok
[INFO] [stdout] test http_passthrough::tests::cancellation_returns_shutting_down ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustyice_server-37ee098378740fa1)
[INFO] [stdout] 
[INFO] [stdout] running 58 tests
[INFO] [stdout] test banner::tests::center_pad_saturates_when_text_is_wider ... ok
[INFO] [stdout] test banner::tests::center_pad_centers_shorter_text ... ok
[INFO] [stdout] test banner::tests::hyperlink_wraps_text_in_osc8 ... ok
[INFO] [stdout] test banner::tests::logo_width_matches_each_line ... ok
[INFO] [stdout] test banner::tests::admin_url_loopback_ipv6_is_kept_with_brackets ... ok
[INFO] [stdout] test banner::tests::admin_url_unspecified_ipv6_becomes_localhost ... ok
[INFO] [stdout] test banner::tests::admin_url_unspecified_ipv4_becomes_localhost ... ok
[INFO] [stdout] test banner::tests::admin_url_loopback_ipv4_is_kept ... ok
[INFO] [stdout] test bus::tests::subscriber_count_tracks_live_subscriptions ... ok
[INFO] [stdout] test bus::tests::multiple_subscribers_each_receive_packet ... ok
[INFO] [stdout] test bus::tests::oversized_single_packet_replayed_whole ... ok
[INFO] [stdout] test bus::tests::late_subscriber_receives_history ... ok
[INFO] [stdout] test bus::tests::subscriber_receives_published_packet ... ok
[INFO] [stdout] test bus::tests::history_and_live_are_contiguous_without_duplicates ... ok
[INFO] [stdout] test bus::tests::lagged_subscriber_skips_missed_packets_and_continues ... ok
[INFO] [stdout] test relay::backoff::tests::next_delay_doubles_and_caps_at_30s ... ok
[INFO] [stdout] test relay::backoff::tests::reset_returns_to_1s ... ok
[INFO] [stdout] test config_reload::tests::apply_config_propagates_auth_error ... ok
[INFO] [stdout] test config_reload::tests::reload_updates_mount_metadata ... ok
[INFO] [stdout] test bus::tests::history_caps_at_byte_capacity ... ok
[INFO] [stdout] test config_reload::tests::reload_preserves_current_title ... ok
[INFO] [stdout] test bus::tests::packet_arc_is_shared_not_copied ... ok
[INFO] [stdout] test source_headers::tests::empty_headers_produce_empty_overlay ... ok
[INFO] [stdout] test chunked::tests::errors_on_malformed_hex ... ok
[INFO] [stdout] test chunked::tests::errors_on_unexpected_eof_mid_payload ... ok
[INFO] [stdout] test chunked::tests::decodes_chunk_larger_than_caller_buffer ... ok
[INFO] [stdout] test chunked::tests::skips_trailers_and_returns_eof ... ok
[INFO] [stdout] test relay::client::tests::detect_codec_handles_known_content_types ... ok
[INFO] [stdout] test chunked::tests::ignores_chunk_extensions ... ok
[INFO] [stdout] test chunked::tests::decodes_zero_chunk_stream ... ok
[INFO] [stdout] test chunked::tests::decodes_simple_two_chunk_stream ... ok
[INFO] [stdout] test source_headers::tests::ice_wins_when_both_spellings_sent ... ok
[INFO] [stdout] test source_headers::tests::malformed_bitrate_becomes_none ... ok
[INFO] [stdout] test source_headers::tests::negative_bitrate_becomes_none ... ok
[INFO] [stdout] test source_headers::tests::other_ice_headers_are_ignored ... ok
[INFO] [stdout] test source_headers::tests::string_values_are_trimmed ... ok
[INFO] [stdout] test source_headers::tests::non_utf8_header_value_is_treated_as_absent ... ok
[INFO] [stdout] test source_headers::tests::empty_or_whitespace_string_values_become_none ... ok
[INFO] [stdout] test config_reload::tests::apply_config_returns_stream_bind_warning ... ok
[INFO] [stdout] test source_headers::tests::icy_headers_populate_overlay_when_ice_absent ... ok
[INFO] [stdout] test source_headers::tests::malformed_public_becomes_none ... ok
[INFO] [stdout] test source_headers::tests::ice_headers_populate_overlay ... ok
[INFO] [stdout] test source_layer::tests::other_methods_are_unchanged ... ok
[INFO] [stdout] test source_protocol::tests::detects_mp3_from_audio_mpeg ... ok
[INFO] [stdout] test source_protocol::tests::defaults_to_mp3_for_unknown_content_type ... ok
[INFO] [stdout] test source_protocol::tests::missing_auth_header_returns_empty_string ... ok
[INFO] [stdout] test source_protocol::tests::parsed_overlay_round_trips_through_active_mount ... ok
[INFO] [stdout] test source_layer::tests::source_method_is_rewritten_to_put ... ok
[INFO] [stdout] test source_protocol::tests::preempt_returns_true_immediately_when_no_non_live_owner ... ok
[INFO] [stdout] test source_protocol::tests::chain_reader_yields_buffer_then_inner ... ok
[INFO] [stdout] test source_protocol::tests::read_request_head_parses_butt_shaped_put ... ok
[INFO] [stdout] test source_protocol::tests::extracts_password_from_basic_auth_with_username ... ok
[INFO] [stdout] test source_protocol::tests::extracts_password_only_from_basic_auth ... ok
[INFO] [stdout] test source_protocol::tests::preempt_non_live_cancels_token_and_waits_for_release ... ok
[INFO] [stdout] test bus::tests::burst_zero_returns_live_only ... ok
[INFO] [stdout] test bus::tests::byte_cap_evicts_oldest ... ok
[INFO] [stdout] test relay::client::tests::build_request_omits_basic_auth_when_no_creds ... ok
[INFO] [stdout] test relay::client::tests::build_request_sets_basic_auth_when_creds_present ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rustyice-94bedd8e2f0f2b32)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e_autodj_test.rs (/opt/rustwide/target/debug/deps/e2e_autodj_test-c40bda14f7cae8e8)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test autodj_streams_mp3_with_icy_name ... ok
[INFO] [stdout] test autodj_yields_to_live_source_and_resumes ... ok
[INFO] [stdout] test autodj_loop_false_ends_after_playlist ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.67s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e_relay_test.rs (/opt/rustwide/target/debug/deps/e2e_relay_test-d36dc5a04456fe64)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test relay_reconnects_when_upstream_drops ... ok
[INFO] [stdout] test relay_streams_audio_to_listener ... ok
[INFO] [stdout] test relay_yields_to_live_source_and_resumes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.43s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stderr]      Running tests/e2e_test.rs (/opt/rustwide/target/debug/deps/e2e_test-87812e6d6582c44f)
[INFO] [stdout] test admin_api_shows_mount ... ok
[INFO] [stdout] test source_with_wrong_password_gets_401 ... ok
[INFO] [stdout] test graceful_shutdown_closes_connections ... ok
[INFO] [stdout] test butt_style_source_streams_audio_to_listener ... ok
[INFO] [stdout] test listener_receives_audio_from_source ... ok
[INFO] [stdout] test ice_name_wins_over_icy_name_when_both_sent ... ok
[INFO] [stdout] test transcoding_overrides_source_bitrate_and_audio_info ... ok
[INFO] [stdout] test listener_falls_back_to_config_when_source_sends_no_ice_headers ... ok
[INFO] [stdout] test mp3_source_transcoded_to_vorbis_advertises_application_ogg ... ok
[INFO] [stdout] test vorbis_source_transcoded_to_mp3_advertises_audio_mpeg ... ok
[INFO] [stdout] test vorbis_source_passthrough_advertises_application_ogg ... ok
[INFO] [stdout] test source_ice_headers_appear_in_listener_response ... ok
[INFO] [stdout] test vorbis_source_transcoded_to_vorbis_advertises_application_ogg ... ok
[INFO] [stdout] test admin_api_reflects_overlay_then_reverts_on_disconnect ... ok
[INFO] [stdout] test transcoded_source_delivers_mp3_to_listener ... ok
[INFO] [stdout] test late_listener_receives_burst_on_connect ... ok
[INFO] [stdout] test ice_name_used_as_streamtitle_fallback_in_icy_meta ... ok
[INFO] [stdout] test admin_title_appears_in_listener_icy_metadata ... ok
[INFO] [stdout] test admin_api_exposes_listener_peer_address ... ok
[INFO] [stdout] test dynamic_mount_created_when_default_source_password_matches ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.54s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustyice_transcode-6109fc481471b2e6)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test pipeline::tests::push_garbage_returns_empty ... ok
[INFO] [stdout] test pipeline::tests::push_empty_returns_empty ... ok
[INFO] [stdout] test pipeline::tests::push_pcm_produces_mp3_sync_words ... ok
[INFO] [stdout] test vorbis_encoder::tests::flush_is_idempotent ... ok
[INFO] [stdout] test vorbis_encoder::tests::comments_appear_in_output ... ok
[INFO] [stdout] test vorbis_encoder::tests::rejects_misaligned_interleaved_buffer ... ok
[INFO] [stdout] test vorbis_encoder::tests::emits_all_three_header_packets_on_construction ... ok
[INFO] [stdout] test vorbis_encoder::tests::encodes_silence_into_audio_pages ... ok
[INFO] [stdout] test pipeline::tests::vbr_stream_processes_without_error ... ok
[INFO] [stdout] test pipeline::tests::push_pcm_resamples_when_source_rate_differs ... ok
[INFO] [stdout] test pipeline::tests::rate_mismatch_produces_output ... ok
[INFO] [stdout] test pipeline::tests::mp3_to_vorbis_pipeline_produces_ogg_pages_and_comments ... ok
[INFO] [stdout] test pipeline::tests::roundtrip_silence_through_pipeline ... ok
[INFO] [stdout] test pipeline::tests::vorbis_to_mp3_pipeline_produces_mp3_sync_words ... ok
[INFO] [stdout] test pipeline::tests::vorbis_to_vorbis_pipeline_reencodes_at_target_bitrate ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.03s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rustyice_admin
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rustyice_auth
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rustyice_autodj
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rustyice_codec
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rustyice_core
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rustyice_ingest
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rustyice_output
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rustyice_server
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rustyice_transcode
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "cc3042b3c5b5c2a9a6174cf5adc9d7c350375657abed6a4a469eb844a20a1615", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc3042b3c5b5c2a9a6174cf5adc9d7c350375657abed6a4a469eb844a20a1615", kill_on_drop: false }`
[INFO] [stdout] cc3042b3c5b5c2a9a6174cf5adc9d7c350375657abed6a4a469eb844a20a1615
